package com.arc.level;
import com.jme3.app.Application;
import com.jme3.network.serializing.Serializable;
import com.jme3.scene.Geometry;
import com.jme3.scene.Node;
import com.jme3.scene.Spatial;
import com.jme3.scene.shape.Box;

/**
 *
 * @author Adam
 */

//Represents a Geometry that can be added to the scene graph, but is serializeable.
//The use of this is we can create all of our geometries as networked geoms and we 
//will have a method of generating them the same way on the server and the client.
@Serializable 
public abstract class NetworkedGeometry extends NetworkedNode{
    
    public NetworkedGeometry()
    {   }
    
    public NetworkedGeometry(Geometry initial)
    {
        name = initial.getName();
    }
    
    public NetworkedGeometry(String name)
    {
        this.name = name;
    }
    
    public abstract Geometry toGeometry(Application app);
    
    public NetworkedNode toNetworkedNode(){
        return (NetworkedNode)this;
    }
    
}